package com.escool.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.escool.dao.ExpedienteDAO;
import com.escool.model.TbExpediente;
import com.escool.model.TbExpedienteHasMateria;
import com.escool.model.TbExpedienteMateriaHasRotacionesActividad;
import com.escool.model.TbSedeSeccionHasMateria;
@Service
public class ExpedienteServiceImpl implements ExpedienteService {
	
	@Autowired
	ExpedienteDAO expedienteDAO;

	@Transactional
	public void add(TbExpediente tbExpediente) {
		expedienteDAO.add(tbExpediente);

	}

	@Transactional
	public void edit(TbExpediente tbExpediente) {
		expedienteDAO.edit(tbExpediente);

	}

	@Transactional
	public List<TbExpediente> listAll() {
		// TODO Auto-generated method stub
		return expedienteDAO.listAll();
	}

	@Transactional
	public TbExpediente findById(Integer id) {
		// TODO Auto-generated method stub
		return expedienteDAO.findById(id);
	}

	@Transactional
	public void remove(Integer id) {
		expedienteDAO.remove(id);

	}

	@Transactional
	public List<TbSedeSeccionHasMateria> listTbSedeSeccionHasMateria(int sd_sc) {
		// TODO Auto-generated method stub
		return expedienteDAO.listTbSedeSeccionHasMateria(sd_sc);
	}

	@Transactional
	public void addTbExpedienteHasMateria(
			TbExpedienteHasMateria tbExpedienteHasMateria) {
		// TODO Auto-generated method stub
		expedienteDAO.addTbExpedienteHasMateria(tbExpedienteHasMateria);
		
		
	}

	@Transactional
	public List<TbExpedienteHasMateria> listExpMatByMateria(Integer id) {
		
		return expedienteDAO.listExpMatByMateria(id);
	}
	
	@Transactional
	public List<TbExpedienteHasMateria> listExpMatByExpediente(Integer id) {
		// TODO Auto-generated method stub
		return expedienteDAO.listExpMatByExpediente(id);
	}

	@Transactional
	public void addTbExpedienteMateriaHasRotacionesActividad(
			TbExpedienteMateriaHasRotacionesActividad ema) {
		expedienteDAO.addTbExpedienteMateriaHasRotacionesActividad(ema);
		
	}

	@Transactional
	public void updateTbExpedienteMateriaHasRotacionesActividad(
			TbExpedienteMateriaHasRotacionesActividad ema) {
		expedienteDAO.updateTbExpedienteMateriaHasRotacionesActividad(ema);
		
	}

	@Transactional
	public List<TbExpedienteMateriaHasRotacionesActividad> listActividadByExpedienteId(
			Integer id) {
		
		return expedienteDAO.listActividadByExpedienteId(id);
	}

	@Transactional
	public List<TbExpediente> listAll(String alumnoCodigo) {
		// TODO Auto-generated method stub
		return expedienteDAO.listAll(alumnoCodigo);
	}
	@Transactional
	public TbExpedienteMateriaHasRotacionesActividad findActividad(int id) {
		// TODO Auto-generated method stub
		return expedienteDAO.findActividad(id);
	}

}
